package com.program.facesigninsystem.service;

import com.program.facesigninsystem.entity.ResponseModel;
import com.program.facesigninsystem.entity.SignInRecord;
import com.program.facesigninsystem.iteration.dto.NoSignInParam;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;

public interface ISignInRecordService {


    List<Map<String, Object>> selectRecordList(String lid);

    int selectRecCount(String lid);

    int selectRecCount1(String lid,int num);

    List<Map<String, Object>> selectNoSignIn(String cid, String lid);

    void addNewRecord(String id, String lid, String uid, String createTime, String state,String state2);

    List<SignInRecord> selectRecord(String uid, String date1, String date2);

    List<SignInRecord> selectRecordByMonth(String uid, String date);

    List<SignInRecord> selectRecordAll(String uid);

    SignInRecord selectRecExist(String uid, String lid);

    List<Map<String, Object>> selectRank();

    List<Map<String, Object>> selectMyRecord(String uid, String date);

    List<Map<String, Object>> selectList(String lid);

    void signinByTea(String id, String uid, String lid, String createTime, String state);

    void signinByTea2(String id, String name, String lid, String createTime, String state);

    void exportExcel(String fileName, String lid, HttpServletRequest request, HttpServletResponse response, List<Map<String, String>> noSignIn);

    void exportExcel2(String fileName, String lid, HttpServletRequest request, HttpServletResponse response);

    ResponseModel selectDistinctState(String lid);

    ResponseModel setSignInState(String uid, String lid, String state);

    List<NoSignInParam> getNoSignIn(String lid, String cid);

    void exportSignInRecord(String[] actIdList, int signInClassId, int[] titleList, HttpServletRequest request, HttpServletResponse response);
}
